#ifndef RBN_NODE_H
#define RBN_NODE_H

namespace RBN {

/* RBN node */
class RbnNode {
public:
	/* ctor */
	RbnNode(int nInputs, int const* inputPositions, int const* function);

	/* dtor */
	~RbnNode();

	/* set inputs/outputs */
	void setInputsOutputs(int position, int const* inputs, int* outputs);

	/* update */
	void update();

private:
	int           _nInputs;        /* input count        */
	int const **  _inputs;         /* pointers to inputs */
	int*          _inputPositions; /* input positions    */
	int*          _function;       /* boolean function   */
	int*          _output;         /* pointer to output  */
};

} // RBN

#endif // RBN_NODE_H

